Entity diagrams, such as entity relationship diagrams, are frequently used to enable a targeted audience to comprehend complex relationships between various entities. An entity diagram may include one or more entities and one or more relationships among the entities. An entity may refer to any object that can be described by data. For example, an entity may be a database record, a computer programming object, or a business object such as a business organization or a business process.
Entity diagrams can be most valuable when they depict a large number of entities and relationships. For example, a complex database design may be presented as a large entity diagram denoting the structure of various data models. The value of an entity diagram with a large number of entities may be severely diminished when a user cannot easily understand the relationships among the entities, or when a user has to spend a significant effort to manipulate the nodes and relationship links to make the diagram comprehensible. As such, improving the layout of a complex entity diagram can be a useful step in the process of producing a clear and concise diagram.
The process of generating a complex entity diagram may be complicated by the presence of a large number of nodes and a large number of relationships in the diagram. Because of complex relationships among the nodes that represent the entities, related nodes may be dispersed over a wide area of the entity diagram. Dispersed nodes make the relationship links excessively long in the entity diagram, possibly making the diagram difficult to read.
The process of generating a complex entity diagram is further complicated by the variety of logical relationships that exist among the entities represented in the diagram. For example, in a large entity diagram, the cardinalities of the entities (e.g., one-to-one, one-to-many, and many-to-many relationships) require various types of denotations. Numerous and complex logical relationships in an entity diagram may be presented using relationship links that overlap or cross each other, making the diagram appear cluttered.
Methods and systems consistent with the disclosed embodiments address one or more of the above-mentioned problems.